Enterprise applications must often process time-consuming and long-running tasks in a background environment. When faced with the challenge of developing software for the enterprise application, programmers are faced with daunting infrastructure challenges in addition to the business logic related to the tasks. Assembling the architecture for such an infrastructure is costly and limits productivity and efficiency.
A task may take a long time to execute and may require multiple system resources. Although workflow orchestration tools can be used to implement long-running tasks, such tools lack task-level scalability. Accordingly, products that increase overall scalability also increase cost and reduce flexibility.
Therefore, there still remains need for techniques to address scalability when executing large scale tasks without significantly increasing costs or reducing flexibility.